The invention relates to methods and systems for optimizing locations of physical data accessed by one or more client applications interacting with a storage system.
Flash-based Solid State Drives have emerged as a high-performing and viable alternative to magnetic disks for data-intensive applications. In the future, enterprise storage systems, as well as commodity hardware, are expected to incorporate both Solid State Drives (SSDs) and Hard Disk Drives (HDDs) as storage media. SSDs are purely electronic devices with no mechanical moving parts, and therefore the access time for a block is independent of the position of a block on the physical medium. This allows SSDs to have an excellent random read performance, see e.g., Wikipedia contributors. “Solid-state drive.” Wikipedia, The Free Encyclopedia. Wikipedia, The Free Encyclopedia, 16 Jun. 2011. Web. 16 Jun. 2011.
Endurance limitations and the fact that updating a flash page requires that the whole block to which the page belongs must be erased first lead to sophisticated techniques used by SSD controllers to speed up random writes. In some cases, random write performance can be achieved which is on par with random read performance. The sequential read and write performance of SSDs can compete with or even outperform HDDs'.
A hybrid storage system is a system that utilizes both types of storage media for persistent storage, i.e., the solid state drive is not used as a cache; rather, it is used at the same level of the memory hierarchy as the HDDs. Typically, arrays of multiple SSDs and arrays of multiple HDDs are used to form redundancy groups to achieve higher performance and reliability (using the so-called RAID scheme or any other scheme), see e.g., Wikipedia contributors. “Standard RAID levels.” Wikipedia, The Free Encyclopedia. Wikipedia, The Free Encyclopedia, 10 Jun. 2011. Web. 16 Jun. 2011.